﻿-- VR渲染器参数
-- output_on				：是否开启帧缓存
-- output_splitgbuffer		：是否开启保存帧
-- output_splitfilename 	: 帧缓存窗口下的设置的自动保存的文件路径
-- output_saveRawFile       ：是否开启保存过程文件
-- output_rawFileName 		：帧缓存窗口下的设置的自动保存的过程文件路径，就是保存exr那里
-- gi_primary_type  		：主要GI引擎 0发光贴图 2BF算法 3灯光缓存
-- gi_secondary_type		：次要GI引擎 
-- adv_irradmap_mode		: 发光贴图的模式0 单帧模式
-- adv_irradmap_loadfilename: 发光贴图文件加载路径
-- lightcache_mode 			： 灯光缓存模式 0 单帧 2 来自文件
-- lightcache_loadfilename  ： 灯光缓存文件加载路径
--photonmap_mode  			：光子贴图的模式 0 newMap  1 fromFIle
-- photonmap_loadfilename   :光子贴图的路径来源
-- output_getsetsfrommax    ：是否从max中获取渲染的宽度和高度
-- output_width 			：帧缓存的宽度
-- output_height			：帧缓存的高度
-- output_aspect			：帧缓存的像素比
-- camera_type				：VR面版Camera设置中type
-- camera_overrideFOV		：是否开启OverrideFOV
-- camera_fov				:fov的值
--camera_cyl_height			：垂直fov的值


--判断输入贴图是否表示法线贴图。 
fn isNormalMap inputMap =(  
	local inputMapClass = classof inputMap  

	--  返回inputMapClass是否是 VrayNormalMap or CoronaNormal or Normal_Bump中的一种       
	/*return*/ inputMapClass == VrayNormalMap or inputMapClass == CoronaNormal or inputMapClass == Normal_Bump 
) 

-- 更改为corona渲染器 
fn changeRendererToCorona =(  
	if substring (classof renderers.current as string) 1 6 != "Corona" then (  
		renderers.current = CoronaRenderer()   

		-- renderers.medit represents a Material Editor's renderer.        
		if not renderers.medit_locked do (  
			renderers.medit = CoronaRenderer()   
		)  
	) 
) 
-- 判断当前是否是VR渲染器
fn IsVrayRender = (

	result = Renderers.Current == VRay
)
-- 判断当前是否是CR渲染器
fn IsCrRender = (

	result = Renderers.Current == CoronaRenderer
)

--获取VR渲染器的渲染保存路径 如果当前不是VR渲染器则返回空字符串
fn getVraySaveFilePath = (

	result = try(renderers.current.output_splitfilename)catch("")
	result 
)
-- VR判断是否开启了全景
fn isVRayPanorama = (
	assert (Renderers.Current == VRay)
	result = false
	cameratype = try(Renderers.Current.camera_type)catch(0)
	case cameratype of
	(
		1:
		(
			result = Renderers.Current.camera_overrideFOV==true and Renderers.Current.camera_fov==360.0 
		)
		9:
		(
			result = Renderers.Current.camera_overrideFOV==true and Renderers.Current.camera_fov==360.0 and Renderers.Current.camera_cyl_height==180.0
		)
	)
	result
)
